详解vue中v-for的key唯一性
目录1. DOM Diff2. 为同一层的相同类型的元素添加 key 属性3. key 不能是 index 下标值1. DOM Diff要想真正了解 key 属性的存在意义,还真得从 DOM Diff 说起,并不需要深入了解 DOM Diff 的原理,而是仅仅需要知道 DOM Diff 的工作过程即可。Vue 和 React 都采用了运用虚拟 DOM 的方式减少浏览器不必要的渲染。由于 Vue ...
2024-01-10element-ui tree结构实现增删改自定义功能代码
首先是页面部分<template> <el-tree id="userMtree" ref="tree" :data="treeData" node-key="id" :render-content="renderContent" :expand-on-click-node="false" @node-click="nodeClick" :default-expanded-keys='expandedKey' ></el-tree></template>下面是js部分export defau...
2024-01-10MacOS下mysql 8.0.18 安装配置方法图文教程
本文记录了MacOS下安装MySQL8.0.18,并成功命令行操作,供大家参考,具体内容如下①下载MySQL8.0.18下载网址:点击查看下载后(dmg)进行安装。②开启MySQL服务③配置环境变量进入终端(这里用的是vim):vim ~/.bash_profile在文件最后加入:PATH=$PATH:/usr/local/mysql/bin保存并退出(ESC-> : -> wq)。让...
2024-01-10Linux (Ubuntu 18.04) 下安装vim编辑器的方法
大家可以去Ubuntu官网下载桌面系统: https://ubuntu.com/download/desktop ,虽然最新版是19.04,但是建议大家下载稳定版18.04。安装过程非常简洁,我使用的是VMware Workstation Pro虚拟机,大家也可以用其他的,这个没什么影响。Ubuntu 18.04 用起来还是要比老版本要舒服很多的,毕竟做了这么久的Windows开发,突然接...
2024-01-10keep-alive保持组件状态的方法
keep-alive的设计初衷有些业务场景需要根据不同的判断条件,动态地在多个组件之间切换。频繁的组件切换会导致组件反复渲染,如果组件包含有大量的逻辑和dom节点,极易造成性能问题。其次,切换后组件的状态也会完全丢失。keep-alive的设计初衷就是为了保持组件的状态,避免组件的重复渲染。为...
2024-01-10vue实现移动端触屏拖拽功能
vue实现移动端可拖拽浮球,供大家参考,具体内容如下1 首先创建一个div<div class="floatball" id="floatball" @mousedown="down" @touchstart.stop="down" @mousemove="move" @touchmove.stop="move" @mouseup="end" @touchend.stop="end" @click="showRewardDesc" :style="{top:position.y+'px', left:pos...
2024-01-10SpringBoot开发案例之配置Druid数据库连接池的示例
前言好久没有更新Spring Boot系列文章,你说忙么?也可能是,前段时间的关注点也许在其他方面了,最近项目中需要开发小程序,正好采用Spring Boot实现一个后端服务,后面会把相关的代码案例分享出来,不至于大家做小程序后端服务的时候一头雾水。在Spring Boot下默认提供了若干种可用的连接池(dbcp,d...
2024-01-10选择Spring Boot项目的内嵌容器的理由
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot继承了...
2024-01-10serialVersionUID作用全面解析
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异...
2024-01-10Ajax实现搜索引擎自动补全功能
每当我们遇到一些问题时候,我们会百度一下,你是有过我们的问题还没打完就已经出现的经历?如下图:天猫:京东:这时候的你是否想到如何实现这个功能?我们的网页明明没有刷新,可是却出现了数据的交互,也就是Ajax的强大之处。下面以一个例子来实现。搜索框和搜索按钮,我们希望...
2024-01-10MyBatis入门学习教程(一)-MyBatis快速入门
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)首先给大家介绍MyBati...
2024-01-10java发送javax.mail邮件实例讲解
平时我们网上逛网站的时候,经常会用到网站的注册。有很多方法,比如发短信验证,发邮箱验证。最近在SSH框架下,做了一个简单的邮件发送激活链接到邮箱,然后激活注册用户的一个功能。我用到的MailServer是易邮邮件服务器,引用的是javax.mail.jar包。javamail顾名思义,提供给开发者处理电子邮件相...
2024-01-10java实现socket客户端连接服务端
本例只做简单功能演示,代码并不严谨,只是说明客户端如何实现连接服务端简单代码。代码在集成Eclipse工具下测试编译运行环境如下图所示:客户端echoClient.java代码:package com.zhengzz.echo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket...
2024-01-10使用OpenCV实现图像匹配示例|Python
图像匹配是一种数字图像处理技术, 可帮助我们对齐同一场景的不同图像。例如, 可以从各个角度单击一本书的图片。以下是一些显示摄像机角度变化的实例。现在, 我们可能需要将特定图像”对齐”到与参考图像相同的角度。在上面的图像中, 人们可能会认为第一张图像是”理想的”封面照片, 而第二...
2024-01-10IDA Pro 分析 dyld_shared_cache
作者:0xcc原文链接:https://mp.weixin.qq.com/s/PGC7LKu-oC5ZaRxLFrhTsg请注意本文与 kernelcache 没有任何关系。只要逆向分析过 iOS 用户态程序,对 dyld_shared_cache [1] (下文简称 dsc)都不会陌生。这个机制将所有系统内置的动态链接库都绑定起来,变成一坨巨大的二进制文件,无疑给反编译工作带来了额外的工作...
2024-01-10某 C 1day 反序列化漏洞的武器级利用
作者:unicodeSec @宽字节安全原文链接:https://mp.weixin.qq.com/s/IdXYbjNVGVIasuwQH48Q1w虽然打厚码,但是好兄弟们依旧知道我在说什么。这个java cms的反序列化点极多,而且报文中没有多少特征。至于这个是不是你们说的0day/1day,我就不清楚了,好兄弟们自行分辨。首先从任意文件上传说起任意文件上传分析...
2024-01-10从反序列化到类型混淆漏洞——记一次 ecshop 实例利用
作者:LoRexxar'@知道创宇404实验室时间:2020年3月31日English Version: https://paper.seebug.org/1268本文初完成于2020年3月31日,由于涉及到0day利用,所以于2020年3月31日报告厂商、CNVD漏洞平台,满足90天漏洞披露期,遂公开。前几天偶然看到了一篇在Hackerone上提交的漏洞报告,在这个漏洞中,漏洞发现者提出了...
2024-01-10Gafgyt 魔高一尺,引领僵尸网络
作者:伏影实验室公众号:绿盟科技 概述在万物互联的物联网时代,IoT设备的脆弱性亦广为世人所发掘。随着暴露在互联网中存在安全隐患的IoT设备的增多(仅中国国内就有1200W台以上),越来越多的恶意软件亦将目光对准了这个取之不尽的僵尸资源库,因此IoT平台上的恶意软件家族数量呈现爆发增...
2024-01-10mongodb subset方式的查询
例如以下一个collention:{ test: [1,2,3] }{ test: [1,3] }{ test: [2] }{ test: [3,4] }如何实现查找test数组是另一个数组 [1,2,3]子集的结果?类似于$all查询,但与$all相反。db.coll.find({ test: {$subset: [1,2,3] }})得到的结果应该是除了4以外的其它几个。回答:db.test.insert({test:[1,2,3]});db.test.insert({test:[1,2]});db.t...
2024-01-10nodejs express 导出 csv 慢
问题描述使用 express 的 res.write 来写 csv 数据,数据已经从数据库读出来了(用的是 mongodb 可读流),但是 chrome 卡在即将开始下载一分半之后才开始有数据下载下来,会是什么原因。相关代码stream.on('data', data => { let finalData = processData(data); let _data = JsonToArray(finalData, fields).join(','); // console.log...
2024-01-10